package com.cqs.leetcode.string;

import java.util.ArrayList;
import java.util.List;

public class LengthofLastWord58 {
    /**
     * 根据空格进行分割 求最后一个单词的长度
     * <p>
     * 结尾的空格(即使)不会当成单词(但是中间会产生""的字符串)
     * <p>
     * <p>
     * 慢
     */
    static class Solution {

        public int lengthOfLastWord(String s) {
            if (s == null || s.length() <= 0) return 0;
            String[] s1 = s.split(" ");
            if (s1.length == 0) return 0;
            return s1[s1.length - 1].length();
        }
    }

    static class Solution2 {
        public int lengthOfLastWord(String s) {
            if (s == null || s.length() <= 0) return 0;
            int idx = s.length();
            //跳过结尾的空格
            while (--idx >= 0 && s.charAt(idx) == ' ') ;
            int cnt = 0;
            //统计最后一个单词长度
            while (idx >= 0 && s.charAt(idx--) != ' ') ++cnt;
            return cnt;
        }
    }


    public static void main(String[] args) {
        Solution solution = new Solution();
        List<String> testCases = new ArrayList<>();
        testCases.add("   ");
        testCases.add("a tt  ni ");
        testCases.add("a tt  ni world");
        testCases.forEach(str -> System.out.println(str + "\t" + solution.lengthOfLastWord(str)));

        System.out.println("a   b  c  ".split(" ").length);
    }
}
